<!DOCTYPE html>
<html lang="it">
	<head>
		<meta charset="utf-8" />
		<base href="../../../" />
		<script src="page.js"></script>
		<link type="text/css" rel="stylesheet" href="page.css" />
	</head>
	<body>
		<h1>[name]</h1>

		<p class="desc">
			Rappresenta un'armonica sferica del terzo ordine (SH). Le sonde luminose utilizzano questa classe per codificare le 
			informazioni sull'illuminazione.
		</p>

		<h2>Costruttore</h2>
		<h3>[name]()</h3>
		<p>
			Crea una nuova istanza di [name].
		</p>

		<h2>Proprietà</h2>

		<h3>[property:Array coefficients]</h3>
		<p>Un array contenente i (9) coefficienti SH. Un singolo coefficiente è rappresentato come un'istanza di [page:Vector3].</p>

		<h3>[property:Boolean isSphericalHarmonics3]</h3>
		<p>
			Flag di sola lettura per verificare se l'oggetto dato è di tipo [name].
		</p>

		<h2>Metodi</h2>

		<h3>[method:this add]( [param:SphericalHarmonics3 sh] )</h3>
		<p>
			[page:SphericalHarmonics3 sh] - L'SH da aggiungere.<br /><br />

			Aggiunge l'SH dato a questa istanza.
		</p>

		<h3>[method:this addScaledSH]( [param:SphericalHarmonics3 sh], [param:Number scale] )</h3>
		<p>
			[page:SphericalHarmonics3 sh] - L'SH da aggiungere.<br />
			[page:Number scale] - Il fattore scale.<br /><br />

			Un metodo pratico per eseguire [page:.add]() e [page:.scale]() contemporaneamente.
		</p>

		<h3>[method:SphericalHarmonics3 clone]()</h3>
		<p>
			Restituisce una nuova istanza di [name] con i coefficienti uguali.
		</p>

		<h3>[method:this copy]( [param:SphericalHarmonics3 sh] )</h3>
		<p>
			[page:SphericalHarmonics3 sh] - L'SH da copiare.<br /><br />

			Copia l'SH dato per questa istanza.
		</p>

		<h3>[method:Boolean equals]( [param:SphericalHarmonics3 sh] )</h3>
		<p>
			[page:SphericalHarmonics3 sh] - L'SH con cui fare la comparazione.<br /><br />

			Restituisce true se l'SH dato e questa istanza hanno coefficienti uguali.
		</p>

		<h3>[method:this fromArray]( [param:Array array], [param:Number offset] )</h3>
		<p>
			[page:Array array] - L'array contiene i numeri dei coefficienti SH.<br />
			[page:Number offset] - (opzionale) L'offset dell'array.<br /><br />

			Imposta i coefficienti di questa istanza dall'array passato.
		</p>

		<h3>[method:Vector3 getAt]( [param:Vector3 normal], [param:Vector3 target] )</h3>
		<p>
			[page:Vector3 normal] - Il vettore normale (si assume che abbia lunghezza unitaria).<br />
			[page:Vector3 target] - Il vettore risultato.<br /><br />

			Restituisce la radianza nella direzione della normale data.
		</p>

		<h3>[method:Vector3 getIrradianceAt]( [param:Vector3 normal], [param:Vector3 target] )</h3>
		<p>
			[page:Vector3 normal] - Il vettore normale (si assume che abbia lunghezza unitaria).<br />
			[page:Vector3 target] - Il vettore risultato.<br /><br />

			Restituisce l'irradianza (radianza convoluta con il lobo del coseno) nella direzione della normale data.
		</p>

		<h3>[method:this lerp]( [param:SphericalHarmonics3 sh], [param:Number alpha] )</h3>
		<p>
			[page:SphericalHarmonics3 sh] - L'SH con cui interpolare.<br />
			[page:Number alpha] - Il fattore alfa.<br /><br />

			Interpolazioni lineari tra l'SH dato e questa istanza dal fattore alfa dato.
		</p>

		<h3>[method:this scale]( [param:Number scale] )</h3>
		<p>
			[page:Number scale] - Il fattore scale.<br /><br />

			Ridimensiona questo SH in base al fattore scale passato.
		</p>

		<h3>[method:this set]( [param:Array coefficients] )</h3>
		<p>
			[page:Array coefficients] - Un array di coefficienti SH.<br /><br />

			Imposta i coefficienti SH passati in questa istanza.
		</p>

		<h3>[method:Array toArray]( [param:Array array], [param:Number offset] )</h3>
		<p>
			[page:Array array] - (opzionale) L'array target.<br />
			[page:Number offset] - (opzionale) L'array offset.<br /><br />

			Restituisce un array con i coefficienti, o li copia nell'array fornito. I coefficienti
			sono rappresentati come numeri.
		</p>

		<h3>[method:this zero]()</h3>
		<p>
			Imposta tutti i coefficienti a 0.
		</p>

		<h2>Metodi Statici</h2>

		<h3>[method:undefined getBasisAt]( [param:Vector3 normal], [param:Array shBasis] )</h3>
		<p>
			[page:Vector3 normal] - Il vettore normale (si presume che abbia lunghezza unitaria).<br />
			[page:Array shBasis] - La base SH risultante.<br /><br />

			Calcola la base SH per il vettore normale passato.
		</p>

		<h2>Source</h2>

		<p>
			[link:https://github.com/mrdoob/three.js/blob/master/src/[path].js src/[path].js]
		</p>
	</body>
</html>
